package com.hfdg.authority.service;

import com.github.pagehelper.PageInfo;
import com.hfdg.authority.entity.AuthRoleMenu;
import org.springframework.stereotype.Service;
import java.util.List;

/**
 * 公司：天筑科技股份有限公司
 * 作者：yuelh
 * 日期：2020/01/30 23:57:46
 * 说明：AuthRoleMenuService
 */
public interface AuthRoleMenuService  {
    /**
     * @Author yuelh
     * @Company tzstcl
     * @Description //TODO 数据插入
     * @Date 2020/01/30 23:57:46
     * @Param AuthRoleMenu
     * @return java.lang.String 插入数据uid
     **/
    public String insert(AuthRoleMenu authRoleMenu);
    /**
    * @Author yuelh
    * @Company tzstcl
    * @Description //TODO 数据更新，更新时，uid字段不可为空
    * @Date 2020/01/30 23:57:46
    * @Param AuthRoleMenu
    * @return 更新受影响的条目数
    **/
    public Integer update(AuthRoleMenu authRoleMenu);
    /**
    * @Author yuelh
    * @Company tzstcl
    * @Description //TODO 数据操作，若存在，则更新，否则，直接执行数据插入
    * @Date 2020/01/30 23:57:46
    * @Param AuthRoleMenu
    * @return 所操作记录uid
    **/
    public String insertOrUpdate(AuthRoleMenu authRoleMenu);
   /**
    * @Author yuelh
    * @Company tzstcl
    * @Description //TODO 数据逻辑删除
    * @Date 2020/01/30 23:57:46
    * @Param uid 待删除记录唯一id
    * @return 更新受影响的条目数
    **/
    public Integer delete(String uid);
    /**
    * @Author yuelh
    * @Company tzstcl
    * @Description //TODO 数据逻辑删除，批量逻辑删除
    * @Date 2020/01/30 23:57:46
    * @Param uids 待删除记录uid
    * @return 更新受影响的条目数
    **/
    public Integer batchDelete(String[] uids);
   /**
    * @Author yuelh
    * @Company tzstcl
    * @Description //TODO 获取单条数据，根据UID获取单条数据
    * @Date 2020/01/30 23:57:46
    * @Param uid 待删除记录唯一id
    * @return 查询获取到的数据记录，若未查询到数据，则默认返回null
    **/
    public  AuthRoleMenu get(String uid);
   /**
    * @Author yuelh
    * @Company tzstcl
    * @Description //TODO 按条件获取多条数据记录，未分页
    * @Date 2020/01/30 23:57:46
    * @Param authRoleMenu 查询条件
    * @return 查询获取到的数据记录，若未查询到数据，则默认返回null
    **/
    public List<AuthRoleMenu> list(AuthRoleMenu authRoleMenu);
   /**
    * @Author yuelh
    * @Company tzstcl
    * @Description //TODO 按条件获取多条数据记录，分页查询
    * @Date 2020/01/30 23:57:46
    * @Param 分页数据记录
    **/
    public PageInfo getPagingData(int offset, int limit, String orderBy, AuthRoleMenu authRoleMenu);
    /*
     * @Author yuelh
     * @Company tzstcl
     * @Description //TODO 取消角色授权，主要用户编辑角色权限时，先删除当前角色所有授权信息，然后重新授权
     * @Date 13:21 2020-2-1
     * @Param [roleUid]
     * @return java.lang.Integer
     **/
    public Integer undoAuthorize(String roleUid);
}